/*
 * @lc app=leetcode.cn id=58 lang=cpp
 *
 * [58] 最后一个单词的长度
 *
 * https://leetcode-cn.com/problems/length-of-last-word/description/
 *
 * algorithms
 * Easy (40.00%)
 * Likes:    454
 * Dislikes: 0
 * Total Accepted:    318.4K
 * Total Submissions: 794K
 * Testcase Example:  '"Hello World"'
 *
 * 给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
 * 
 * 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
 * 
 * 
 * 
 * 示例 1：
 * 
 * 
 * 输入：s = "Hello World"
 * 输出：5
 * 解释：最后一个单词是“World”，长度为5。
 * 
 * 
 * 示例 2：
 * 
 * 
 * 输入：s = "   fly me   to   the moon  "
 * 输出：4
 * 解释：最后一个单词是“moon”，长度为4。
 * 
 * 
 * 示例 3：
 * 
 * 
 * 输入：s = "luffy is still joyboy"
 * 输出：6
 * 解释：最后一个单词是长度为6的“joyboy”。
 * 
 * 
 * 
 * 
 * 提示：
 * 
 * 
 * 1 <= s.length <= 10^4
 * s 仅有英文字母和空格 ' ' 组成
 * s 中至少存在一个单词
 * 
 * 
 */

// @lc code=start
class Solution {
public:
    int lengthOfLastWord(string s) {
        int end = s.size() - 1;
        while(s[end] == ' ') {
            end--;
        }

        int wordLength = 0;
        // 判断的时候也讲究顺序，注释掉的是不能AC的。
        // while(s[end] != ' ' && end >= 0 ) {
        while(end >= 0 && s[end] != ' ') {
            wordLength++;
            end--;
        }
        // while (index >= 0 && s[index] != ' ') {
        //     wordLength++;
        //     index--;
        // }

        return wordLength;


        // s = s.trim();
        // return s.length() - s.lastIndexOf(" ") - 1;
    }
};
// @lc code=end

